package cn.ryh.gat1400.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * @Author: aiLin
 * @Date: 2020/9/26 18:15
 * @desc: 通知对象 SubscribeNotification 特征属性
 *
 * 	在标准基础上进行调整：
 * 	（1）增加数据分类标签字段，用于通知数据分类标签的变
 * 	化；
 * 	（2）增加更新项目字段，用于明确被通知信息的更新动作
 * 	视图库对接技术要求
 *
 */
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class SubscribeNotification {


    /**通知标识,该订阅通知标识符,唯一值*/
    @JsonProperty("NotificationID")
	private String notificationId;

    /**订阅标识*/
    @JsonProperty("SubscribeID")
    private String subscribeId;

    /**订阅标题,描述订阅的主题和目标 */
    @JsonProperty("Title")
    private String title;

    /**触发时间*/
    @JsonProperty("TriggerTime")
    private String triggerTime;

    /**订阅通知的详细信息(人员、人脸、机动车、非机动车、物品、场景)标识集合*/
    @JsonProperty("InfoIDs")
    private String infoIds;

    /**视频案事件,视频案事件信息数据集*/
     @JsonProperty("CaseObjectList")
    private String caseObjectList;


    /**视频卡口,视频卡口信息数据集*/
     @JsonProperty("Tollgate")
    private String tollgate;

    /**车道,车道信息数据集*/
     @JsonProperty("Lane")
    private String lane;

    /**设备,设备信息数据集*/
     @JsonProperty("DeviceList")
    private String deviceList;

    /**设备状态,该通知针对批量订阅方式*/
     @JsonProperty("DeviceStatusList")
    private String deviceStatusList;

    /**采集系统,设备网管信息数据集*/
     @JsonProperty("APSObjectList")
    private String apsObjectList;

    /**采集系统状态,该通知针对批量订阅方式*/
     @JsonProperty("APSStatusObjectList")
    private String apsStatusObjectList;

    /**人员信息,人员信息数据集*/
     @JsonProperty("PersonObjectList")
    private String personObjectList;

    /**人脸信息,人脸信息数据集*/
     @JsonProperty("FaceObjectList")
    private FaceListObject faceObjectList;

    /**机动车信息,机动车(过车)信息数据集*/
     @JsonProperty("MotorVehicleObjectList")
    private MotorVehicleObject motorVehicleObjectList;

    /** 非机动车信息,非机动车(过车)信息数据集*/
     @JsonProperty("NonMotorVehicleObjectList")
    private String nonMotorVehicleObjectList;

    /**物品信息,物品列表*/
     @JsonProperty("ThingObjectList")
    private String thingObjectList;


    /**场景信息 , 场景列表*/
     @JsonProperty("SceneObjectList")
    private String sceneObjectList;


    /**数据分类标签 ,  数据分类标签数据集*/
     @JsonProperty("DataClassTabObjectList")
    private String dataClassTabObjectList;

    /**更新项目,  1-添加 2-修改3-删除*/
     @JsonProperty("ExecuteOperation")
    private int executeOperation;
}
